Commodore 128
Commodore 128 ili Komodor 128 ili samo C128 je osmobitni kućni/personalni i prvi dvoproceskorski kućni kompjuter koji je na tržište izbacila firma Commodore International. U javnosti se pojavio januara 1985. godine u Las Vegasu tri godine nakon svog pretka Commodore 64. Glavni dizajner hardvera novog kompjutera je bio Bil Herd.
Commodore 128 je bio znatno prošireniji naslednik ranijeg Commodore 64. Novu mašinu je karakterisalo 128 KB RAMa (eksterno je mogao biti proširen i do 640 KB) i 80-kolonski RGB monitor za izlaz kao i redizajnirana tastatura kojoj su dodati brojevi. U njemu su se nalazila 2 procesora. Osnovni procesor je bio MOS 6510, malo poboljšana verzija procesora MOS 6502 koji je mogao da radi na brzini od 2 MHz (ovaj mod je međutim zahtevao isključivanje 40-kolonskog video izlaza). Drugi procesor je bio Zilog Z80 s pomoću kojeg je kompjuter startao nakon uključivanja i koji je korišćen za osiguravanje kompatibilnosti sa CP/M operacijski sistemom. Oba procesora nisu mogla raditi u isto vreme tako da kompjuter nije bio multiprocesni sistem nego kompjuter s 2 procesora u istom kućištu. C128 je imao tri režima (moda) rada : C128 mod, koji je radio na brzini od 1 ili 2 MHz sa CPUom 8502 i imao dostupan i 40 i 80-kolumni tekst mod; CP/M režim, koji je koristio Z80 odnosno drugi CPU u 40-kolonskom tekstualnom režimu ili 80-kolonski tekstualni režim; i C64 režim koji je bio 100% kompatibilan sa Commodore 64. Zbog broja programa za C64 na kraju se gotovo uvek koristio samo ovaj posljednji mod
Iako su grafičke i zvučne sposobnosti C64 opšteprihvaćene kao odlične, popularni računar je bio predmet mnogih kritika. 40-kolonski VIC-II video ekran, iako odličan za video igre, često je smatran neadekvatnim i neproduktivnim za druge primene (obrada teksta, na primer). Nedostatak numeričke tastature je takođe bio problem za kancelarijski softver. Dalje, BASIC 2.0 koji je bio ugrađen u Commodore 64 bio krajnje ograničen i nije podržavao ključne reči za rukovanje grafičkim i zvučnim sposobnostima sistema. Njima se jedino moglo pristupiti preko isuviše komplikovanih PEEK i POKE komandi ili uobičajenim mašinskim jezikom. Još jedan problem je bio nedostatak dugmeta za reset hardvera. Konačno disketna jedinica 1541 koju je koristio 1541 je bila najsporija od svih na tržištu.
Tvorci C128 uspeli su da otklone većinu ovih nedostataka. Novi VDC čip obezbedio je C128 80-kolonski RGB ekran u boji. Novi procesor MOS 8502 je bio potpuno kompatibilan sa C64 6510, a mogao je da radi i na duplo većoj brzini ukoliko je to bilo potrebno. Tastaturi su dodate numeričke tipke kao i još mnoge druge. Zastareli Commodore Basic 2.0 zamenio je mnogo fleksibilniji i moćniji Microsoft Basic 7.0 koji je posedovao i ključne reči stvorene za lakše korišćenje mogućnosti ove mašine. U sve to je uključen i monitor mašinskog jezika, poboljšan je ekranski editor i sistemu je dodato dugme za resetovanje.
Tri nova uređaja disk dodata su u spoju Commodore 128, 1570, 1571 sa 3,5-inčnim 1581 obećavajući veće brzine prenosa preko novog burst moda. Disk drajvovi su imali više RAM memorije na matičnoj ploči nego njihovi prethodnici, drajvovi 1540 i 1541.,a sam kompjuter je takođe imao mnogo više RAM memorije od Commodore 64 kao i daleko veću proporciju za programiranje u BASICu zahvaljujući novom MMU čipu. Ova osobina omogućila je da kod BASIC programa bude uskladišteno dvojeno od promenljivih povećavajući sposobnost mašine da operiše kompleksnijim programima. Osnovni problem pri radu i programiranju se ostalo hardversko ograničenje 8bitnih procesora koji nisu mogli raditi s više od 64 Kb, što je ovdje zaobiđeno "gerilskom metodom" da kompjuter ima duplo više memorije, ali procesor uvek vidi samo 64 KB.
Drugi od dva procesora računara bio je Zilog Z80, koji mu je dopuštao da pokrene CP/M operativni sistem; mašina je posedovala sljedeće verzije tog sistema:
- CP/M 3.0
- takozvani CP/M Plus
- ADM 31/3A,
a Komodor 128 i prateći 1571 disketni uređaj bili su dizajnirani da pokreću skoro svaki Kaypro-određen softver bez modifikacije.
Međutim, Commodore 128 je CP/M programe pokretao primetno sporije nego većina CP/M sistema, jer je Z80 procesor radio efektivno na brzini od samo 2 MHz (umesto na više uobičajenih 4-6 MHz) i zato što je koristio CP/M 3.0, čija ga je kompleksnost znatno više usporila nego raniji rasprostranjeniji, CP/M 2.2 sistem. Iz izvornog koda računara C 128 CP/M implementacija, jasno je da su inženjeri isprva planirali da omoguće da CP/M radi i u bržem modu takođe, sa isključenim 40-kolonskim izlazom i Z80 koji radi na efektivnih 4 MHz; međutim to nije funkcionisalo na hardveru C128.
Još jedna osobina koja je činila ovaj računar jedinstvenim među CP/M sistemima bila je ta da su neki od BIOS servisa niskog nivoa vršeni čipom 8502 umesto sa Z80. On je prebacivao kontrolu 8502 pošto je postavio vrednosti parametara u označene memorijske lokacije. Z80 se zatim sam isključuje da bi se opet uključio pošto je 8502 završio BIOS rutinu sa statusom dostupnim u RAM memoriji za proveru.
Ugradivši originalni C64 BASIC i KERNAL ROM-ove u celosti (16 KiB ukupno), C128 postiže skoro 100% kompatibilnosti sa C64 softverom. C64 režimu se može pristupiti na tri različita načina:
- Pritiskanjem dugmeta sa „Commodore“ logom pri podizanju sistema
- Kucajući
GO 64
komandu u BASIC-u 7.0 ili - ubacivanjem C64 ketridža.
Nekolicina programa C64 koji ne funkcionišu na računaru C 128 rade ispravno kada se pritisne CAPS LOCK dugme (ili ASCII na međunarodnim modelima C128). Ovo je moguće usled ugrađenog I/O porta koji je veći. Gde je komodorovo (C64) SHIFT LOCK dugme samo mehanička brava za levo SHIFT dugme, odgovarajuće dugme na računaru C128 može se čitati preko ugrađenog I/O porta 8502. Mali broj C64 programa su zbunjeni ovim ekstra I/O bitom.
Vrlo malo C64 programa pisalo je $D030 (53296), često kao deo petlje koja je pokretala registre VIC-II čipa. Ovaj memorijski mapiran registar, koji se nije koristio u C64 radio je kao selektor režima 2 MHz kod C128. Pošto nije bio onemogućen u C64 modu, neoprezno pisanje bi moglo da isprazni 40-kolonski ekran prebacujući CPU u brzi režim. Srećom vrlo malo programa je imalo ovaj nedostatak. Jula 1986. godine COMPUTE!-ov Gazette je objavio type-in program koji je iskoristio ovu manju nekompatibilnost. Lak način da razlikujete C64 režim računara C128 od pravog C64 aparata, obično korišćenog unutar pokrenutog programa, je da ukucate vrednost različitu od 0Xff bez obzira šta mu je napisano, ali na računaru C128 u C64 režimu vrednost lokacije memorijski-mapiranog registra može se promeniti. Stoga, proveravajući vrednost lokacije posle pisanja otkriće se prava hardverska platforma.
Da bi rukovali velikom količinom RAM memorije koja se može instalirati i deset puta većim adresnim prostorom od 64KB, 8502 ”on-board” MMU čip izvodio je kontinuirano prebacivanje uporedo sa generalnim operacijama mašine. Dok je MMU bio dizajniran sa 128 KiB, čipovi koji su dizajnirani baš za C128 to nisu mogli da izvode; stoga je memorijska ekspanzija iznad 128 KiB, tzv. RAM ekspanzione jedinice, sadržavale njihov sopstveni kontrolor memorije koji bi pomerao blokove memorije između glavnog i ekspanzivnog RAM-a.
Sistemska arhitektura računara C128, koja je u slučaju C128 D sa proširenjem memorije u sebe uključivala i tri CPU-a, pet tipova RAM memorije, tri operativna moda, dve brzine sistema, dva grafička čipa i dva potpuno različita flopi diska niskog nivoa, bila je barokna u pozitivnom smislu i uopšte neortogonalna. Ova složenost na visokom nivou je verovatno bila faktor u ograničenom uspehu ovog računara ali takođe i razlog za popularnost ove mašine među dugoročnim korisnicima CBM-a i “hakerima”. Zato što je C128 pokretao sve C64 softvere, i zbog sledeće generacije 16-bitnih kućnih računara, primarno Komodor Amige (Commodore Amiga) i Atari ST-a (Atari ST), relativno malo softvera se pojavilo za C128 (verovatno oko 100-200 pravih komercijalnih naslova, plus uobičajeni “type-in” programi iz časopisa).
Dok je C128 prodao ukupno četiri miliona primeraka između 1985. i 1989. godine, njegova popularnost je bila bleda u odnosu na njegovog prethodnika. Za ovakvu prodaju C128 računara okrivljeni su nedostatak domaćeg softvera i Komodorov manje agresivni marketing. Dodatno objašnjenje može se naći u činjenici da je C64 prodat velikom broju ljudi, koji su bili zainteresovani za video igrice, u čije unapređenje skupi C128 nije uložio mnogo truda. C128 je sigurno bio bolja poslovna mašina nego C64, ali ne i bolja mašina za igranje video igrica dok su ljudi koji su želeli poslovne mašine kupovali skoro isključivo klonove IBM PC računara.